The present invention relates to switches placed in a network that connects a storage device with a computer.
With the increasing storage capacity of storage devices used in companies and the like, a system in which a connection between storage devices, or between storage devices and computers, is made via a network such as a fiber channel is becoming popular. The network providing a connection between the storage devices or between others, or the total system in which a connection is made via the network, is called a storage area network (hereinafter referred to as SAN).
On the other hand, examples of technologies that reduce the frequency of data transfer in a network so as to shorten time required for causing a computer to access data stored in a storage device include a network cache technology. To be more specific, a storage area (hereinafter referred to as a “cache device”) for temporarily storing data on a network is first prepared, and subsequently, if through the cache device the computer reads out data stored in the storage device, the read data is stored in the cache device, which then returns a response when the data is accessed thereafter. As a result, the access time for the data is shortened.
An example in which the network cache technology is employed in SAN is disclosed in Japanese Patent Laid-open No. 2002-132455 (patent document 1). To be more specific, after a computer called a metadata server is provided in SAN, a computer first accesses the metadata server when accessing a storage device. The metadata server notifies the computer of a location of data to be accessed. If a cache is used, the computer is notified of a location of a device having the cache.
In addition, examples of technologies for placing a device having a cache on a network such as the Internet or WWW include a technology called transparent cache. In this technology, when a switch receives an access request for data, which has been issued from a computer to a storage device, the switch transmits the access request to a computer having a cache (hereinafter referred to as a “cache server”) as a first step. If a target file of the access request exists in the cache possessed by the cache server (hereinafter referred to as a “cache hit”), the cache server transmits the target file to the computer that has issued the access request. On the other hand, if the target data does not exist in the cache (hereinafter referred to as a “cache miss”), the cache server transmits an access request to the storage device to obtain the data, and then transmits the obtained data to the computer that has issued the access request.
As described above, if the network cache technology is employed in SAN, when a cache hit is encountered, the time taken for obtaining the requested data is shortened.
However, as far as the technology disclosed in patent document 1 is concerned, although it is possible to install a cache device in SAN, a metadata server is required to access data, and the settings and operation of the computer need to be changed. More specifically, a protocol used for accessing data (for instance, the SCSI protocol), which is conventionally used in SAN, needs to be changed to a dedicated protocol that uses the metadata server.
In the meantime, as is the case with the transparent cache, if a network cache technology for handling data on a file basis is used, it is difficult to speed up a response because processing for judging a cache hit is complicated.
To be more specific, if cache processing is performed on a file basis, a read request is equivalent to an access request specifying a file name, etc. On receiving the access request, the cache server first reads out a file held in its own storage device, together with data called metadata which stores the association of the file with a corresponding block in the storage device, and then searches the read data for the file specified by the read request to judge whether or not a cache hit is encountered. Because this search processing judges the coincidence of a name or the like, processing of the block access protocol such as SCSI becomes more complicated than the comparison between numerical values of logical block addresses used to specify locations to be accessed.